1
2
3
4
5
6
7 package io.vavr.collection;
8
9 import io.vavr.Function1;
10 import io.vavr.PartialFunction;
11 import io.vavr.Tuple3;
12 import io.vavr.Tuple2;
13 import io.vavr.control.Option;
14
15 import java.io.Serializable;
16 import java.util.Comparator;
17 import java.util.function.*;
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72 public interface Set<T> extends Traversable<T>, Function1<T, Boolean>, Serializable {
73
74 long serialVersionUID = 1L;
75
76
77
78
79
80
81
82
83
84
85 @SuppressWarnings("unchecked")
86 static <T> Set<T> narrow(Set<? extends T> set) {
87 return (Set<T>) set;
88 }
89
90
91
92
93
94
95
96 Set<T> add(T element);
97
98
99
100
101
102
103
104 Set<T> addAll(Iterable<? extends T> elements);
105
106
107
108
109
110
111
112
113
114 @Override
115 default Boolean apply(T element) {
116 return contains(element);
117 }
118
119
120
121
122
123
124
125
126
127 Set<T> diff(Set<? extends T> that);
128
129
130
131
132
133
134
135
136
137 Set<T> intersect(Set<? extends T> that);
138
139
140
141
142
143
144
145 Set<T> remove(T element);
146
147
148
149
150
151
152
153 Set<T> removeAll(Iterable<? extends T> elements);
154
155
156
157
158
159
160
161 @Override
162 java.util.Set<T> toJavaSet();
163
164
165
166
167
168
169
170
171
172 Set<T> union(Set<? extends T> that);
173
174
175
176 @Override
177 <R> Set<R> collect(PartialFunction<? super T, ? extends R> partialFunction);
178
179 @Override
180 boolean contains(T element);
181
182 @Override
183 Set<T> distinct();
184
185 @Override
186 Set<T> distinctBy(Comparator<? super T> comparator);
187
188 @Override
189 <U> Set<T> distinctBy(Function<? super T, ? extends U> keyExtractor);
190
191 @Override
192 Set<T> drop(int n);
193
194 @Override
195 Set<T> dropRight(int n);
196
197 @Override
198 Set<T> dropUntil(Predicate<? super T> predicate);
199
200 @Override
201 Set<T> dropWhile(Predicate<? super T> predicate);
202
203 @Override
204 Set<T> filter(Predicate<? super T> predicate);
205
206 @Override
207 <U> Set<U> flatMap(Function<? super T, ? extends Iterable<? extends U>> mapper);
208
209 @Override
210 <C> Map<C, ? extends Set<T>> groupBy(Function<? super T, ? extends C> classifier);
211
212 @Override
213 Iterator<? extends Set<T>> grouped(int size);
214
215 @Override
216 Set<T> init();
217
218 @Override
219 Option<? extends Set<T>> initOption();
220
221 @Override
222 default boolean isDistinct() {
223 return true;
224 }
225
226 @Override
227 Iterator<T> iterator();
228
229 @Override
230 int length();
231
232 @Override
233 <U> Set<U> map(Function<? super T, ? extends U> mapper);
234
235 @Override
236 Set<T> orElse(Iterable<? extends T> other);
237
238 @Override
239 Set<T> orElse(Supplier<? extends Iterable<? extends T>> supplier);
240
241 @Override
242 Tuple2<? extends Set<T>, ? extends Set<T>> partition(Predicate<? super T> predicate);
243
244 @Override
245 Set<T> peek(Consumer<? super T> action);
246
247 @Override
248 Set<T> replace(T currentElement, T newElement);
249
250 @Override
251 Set<T> replaceAll(T currentElement, T newElement);
252
253 @Override
254 Set<T> retainAll(Iterable<? extends T> elements);
255
256 @Override
257 Set<T> scan(T zero, BiFunction<? super T, ? super T, ? extends T> operation);
258
259 @Override
260 <U> Set<U> scanLeft(U zero, BiFunction<? super U, ? super T, ? extends U> operation);
261
262 @Override
263 <U> Set<U> scanRight(U zero, BiFunction<? super T, ? super U, ? extends U> operation);
264
265 @Override
266 Iterator<? extends Set<T>> slideBy(Function<? super T, ?> classifier);
267
268 @Override
269 Iterator<? extends Set<T>> sliding(int size);
270
271 @Override
272 Iterator<? extends Set<T>> sliding(int size, int step);
273
274 @Override
275 Tuple2<? extends Set<T>, ? extends Set<T>> span(Predicate<? super T> predicate);
276
277 @Override
278 Set<T> tail();
279
280 @Override
281 Option<? extends Set<T>> tailOption();
282
283 @Override
284 Set<T> take(int n);
285
286 @Override
287 Set<T> takeRight(int n);
288
289 @Override
290 Set<T> takeUntil(Predicate<? super T> predicate);
291
292 @Override
293 Set<T> takeWhile(Predicate<? super T> predicate);
294
295 @Override
296 <T1, T2> Tuple2<? extends Set<T1>, ? extends Set<T2>> unzip(Function<? super T, Tuple2<? extends T1, ? extends T2>> unzipper);
297
298 @Override
299 <T1, T2, T3> Tuple3<? extends Set<T1>, ? extends Set<T2>, ? extends Set<T3>> unzip3(Function<? super T, Tuple3<? extends T1, ? extends T2, ? extends T3>> unzipper);
300
301 @Override
302 <U> Set<Tuple2<T, U>> zip(Iterable<? extends U> that);
303
304 @Override
305 <U, R> Set<R> zipWith(Iterable<? extends U> that, BiFunction<? super T, ? super U, ? extends R> mapper);
306
307 @Override
308 <U> Set<Tuple2<T, U>> zipAll(Iterable<? extends U> that, T thisElem, U thatElem);
309
310 @Override
311 Set<Tuple2<T, Integer>> zipWithIndex();
312
313 @Override
314 <U> Set<U> zipWithIndex(BiFunction<? super T, ? super Integer, ? extends U> mapper);
315 }